CCFLAGS=-Wall -ansi -pedantic -g
EXECS=diccionario interfaz testData testKey testTuple

all: $(EXECS)

diccionario: key.o data.o tuple.o la.o dict.o interfaz.o
	gcc $(CCFLAGS) -o $@ $^
interfaz: key.o data.o la.o tuple.o dict.o interfaz.o
	gcc $(CCFLAGS) -o $@ $^
testData:  testData.o data.o
	gcc $(CCFLAGS) -o $@ $^
testKey: key.o testKey.o
	gcc $(CCFLAGS) -o $@ $^
testTuple: data.o key.o tuple.o testTuple.o
	gcc $(CCFLAGS) -o $@ $^

data.o: data.c data.h
	gcc $(CCFLAGS) -c $<
dict.o: dict.c dict.h bool.h la.h tuple.h key.h data.h
	gcc $(CCFLAGS) -c $< 
interfaz.o: interfaz.c dict.h bool.h la.h tuple.h key.h data.h
	gcc $(CCFLAGS) -c $< 
key.o: key.c key.h bool.h
	gcc $(CCFLAGS) -c $< 
la.o: la.c la.h bool.h tuple.h key.h data.h
	gcc $(CCFLAGS) -c $< 
testData.o: testData.c data.h
	gcc $(CCFLAGS) -c $< 
testKey.o: testKey.c key.h bool.h
	gcc $(CCFLAGS) -c $< 
testTuple.o: testTuple.c tuple.h key.h bool.h data.h
	gcc $(CCFLAGS) -c $< 
tuple.o: tuple.c tuple.h key.h bool.h data.h
	gcc $(CCFLAGS) -c $< 


clean:
	-rm -f *~ *.o $(EXECS)

